def fmap[A, B]: (A => B) => (A => R) => (B => R)